/*
 * 07/10/2011 - 00:02
 */
package org.nettyflux.communicator;

import java.io.IOException;

import org.nettyflux.mailbox.ReceiveListener;

/**
 * @author Victor Williams Stafusa da Silva
 */
public interface ProtocolFacade<R extends RemoteHost> {
    public void send(R host, byte[] mesage) throws IOException;
    public void receiveBlocking(R host, byte[] mesage) throws InterruptedException;
    public void addReceiveListener(R host, ReceiveListener<byte[]> listener);
    public void removeReceiveListener(R host, ReceiveListener<byte[]> listener);
    public void closeAll() throws IOException;
}
